/*
********************************************************************************
*
*	name : dwt delay
*	file : bsp_dwt.c
********************************************************************************
*/
#include "bsp.h"

/*******************************************************************************
 * @brief  bsp wdt init
 * \param[in] none
 * \retval: none
 *******************************************************************************/
void bsp_wdt_init(void)
{
    /* disable register write protection */
    wdt_register_write_enable(TRUE);

    /* set the wdt divider value */
    wdt_divider_set(WDT_CLK_DIV_4);

    /* set reload value
     timeout = reload_value * (divider / lick_freq )    (s)

     lick_freq     = 40000 Hz
     divider      = 4
     reload_value = 3000

     timeout = 5000 * (4 / 40000 ) = 0.5s = 500ms
    */
    wdt_reload_value_set(5000 - 1);

    /* reload wdt counter */
    wdt_counter_reload();

    /* enable wdt */
    wdt_enable();
}

/*******************************************************************************
 * @brief  bsp wdt init
 * \param[in] none
 * \retval: none
 *******************************************************************************/
void bsp_wdt_feed(void)
{
    /* reload wdt counter */
    wdt_counter_reload();
}
